In seismic exploration of the earth, seismic energy is imparted to the surface of the earth at a "shotpoint". The seismic energy can be generated by detonation of a charge of explosives or vibration of a heavy object on the surface of the earth, or otherwise. In either case, the seismic energy is transmitted into the earth and is reflected upwardly towards the surface at interfaces between varying rock layers. The reflected seismic energy reaches the surface, and is detected there by a "spread" of geophones, that is, a number of microphones coupled to the earth and outputting a signal responsive to seismic energy passing thereby. Typically, the spread of geophones will be aligned along an exploration line extending from the shotpoint in a particular direction. After recording of data with respect to a particular shotpoint, the source of seismic energy is moved some distance along the line, and the process is repeated. The same process can be carried out in exploration of the seabed.
After exploration of a particular line of data is completed, data relating to energy from a plurality of shotpoints SP.sub.1 . . . SP.sub.n will have been recorded with respect to a plurality of geophones located at varying distances X.sub.1, X.sub.2 . . . X.sub.n from the shotpoint. The data is then reorganized to collect records from data transmitted at various shotpoints and recorded at various geophone locations selected such that the reflection can be assumed to have been from a particular interface within the earth of interest, that is, from a "common depth point". The individual records or "traces" are then corrected for the differing distance the seismic energy travels through the earth from the corresponding shotpoints, to the common depth point, and upwardly to the various geophones. This step includes correction for varying seismic velocities through rock layers of different types. The correction for the varying spacing of the shotpoint-detection pairs is referred to as "normal moveout" correction. After this is done, the signals are then summed. Since noise in these records is typically uncorrelated, while the seismic signals are of sinusoidal character, the summation process serves to reduce noise in the seismic record by increasing its signal-to-noise ratio.
This well-known process is referred to as the "stacking" of common depth point "traces", and is discussed in detail in U.S. Pat. Nos. 4,208,732 and 4,209,854 to William H. Ruehle, among others, which two patents are incorporated herein by reference.
As discussed in the Ruehle patents, when the seismic traces from a common depth point are displaced on a single record, individual "events", that is, deflections in the traces caused by reflection of the seismic energy from interfaces between rock layers, tend to fall along hyperbolic curves. The curves are due to the variations in travel time of the seismic energy between varying shotpoints, the common depth point, and the particular geophones. The shape of these hyperbolic curves is essentially a function of the varying spacing of the shotpoints and detectors and of the velocity of the seismic waves in the rock layers. The hyperbolic curves are known as "normal moveout" curves.
In order that the signals from a particular common depth point can be "stacked", i.e. summed to reduce noise, so-called normal moveout correction is performed. In this process, which is well known to those of skill in the art, certain assumptions are made concerning the velocity of the seismic waves within the various rock layers and the thickness of the layer, and the traces recorded with respect to each of the geophone/shotpoint pairs are recomputed to compensate them accordingly. That is, the ray path which would have been taken by the energy if these assumptions were correct is calculated. The normal moveout correction thus takes into account the relative geometric locations of the shotpoint, the common depth point and the geophone, to determine the distance each wave travels, and then employs the velocity assumptions to calculate the actual travel time. This is then used to recompute all of the traces relating to a common depth point, such that they can be summed.
If the assumptions are made correctly, the hyperbolic curve relating to each individual event in the seismic record disappears and is replaced with a straight line. The recorded signals can then be "stacked" as described above to increase the signal-to-noise ratio of the data.
Conventionally, initial assumptions concerning the velocity of the wave in the subsurface layers and the thicknesses of the layers are made by operators on the basis of experience. In some cases, sample portions of the traces may be displayed after computation using a number of possible velocities; the operator can choose the velocities employed in computation of the sample record having the best appearance as a starting point. In either case, after the initial assumptions concerning the velocity have been made, the traces are recomputed accordingly, stacked and displayed. The operator can then determine whether, in fact, the hyperbolic curve has been reformed in favor of a straight line or not. The velocity estimates are then updated accordingly, and the data is recomputed and redisplayed.
This process may be iterated several times before the appearance of the data is adequate, that is, before the velocities are determined correctly.
It will be appreciated that to recompute the data using new velocity assumptions and redisplay it involves an enormous amount of computation. A single data record, relating for example to data recorded with respect to fifty common depth points, fifty shotpoints, and recorded by two hundred geophones to be handled together, may include a million data points, each recorded as four bytes of data. Accordingly, the data processing burden of such operations is immense. Conventionally the process of recalculating the data, recomputing the stack and displaying it takes on the order of hours or even days in busy seismic data processing installations. This process may take place with respect to four or five iterations each of literally dozens of sets of individual common depth points along one of many such lines in a typical exploration sequence. It is easy to see that the entire process of velocity selection and the normal moveout correction process, while nominally quite straight-forward, in practice is extremely tiresome and time consuming, and accordingly very costly.
Typically, normal moveout correction processing has been carried out using a mainframe computer to connect the various elements of the data processing system; these elements include separate devices for data storage, for operator input, for computation and for display of the normal moveout corrected data, all linked by way of the mainframe, which handles all communication and other interface functions between the various devices. The mainframe would itself perform the recomputation and stacking of the data in response to the velocity commands input by the operator.
In more modern installations, the actual recomputation and stacking of the data is performed by an "array processor", that is, a specialized computational device which is operated in accordance with commands received from a program running on the mainframe computer, which in turn translates the operator's commands into actual data processing instructions for the array processor.
In either case, the mainframe controls flow of data and commands between the various elements of the system. In particular, if an array processor is used, the recomputed data provided by the array processor is sent to the display or printing or plotting device by way of the mainframe. The mainframe thus controls the display operation, and in particular, must buffer the recomputed data, in order to supply it to the display device in the proper sequence. In this arrangement the mainframe must handle the data flow both to and from the array processor and also to the display, printing or plotting device. All of these operations are very time consuming, since there is an enormous amount of data which must be so handled. This amounts to a computational bottle neck in the display process, wherein other demands on the mainframe's time tend to interfere with smooth flow of data.